﻿using System;
using System.Collections.Generic;
using EXT;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace BanHangCshap.DanhMuc.gkhtdl63.Khachhang2
{
    public partial class frmKhachhang2Chitiet : Form
    {
        bool xgAOrE;
        DataRow xgDr;

        string xgMacu;
        long xgId;

        public frmKhachhang2Chitiet(bool xlAOrE, DataRow xlDR)
        {
            this.xgAOrE = xlAOrE;
            this.xgDr = xlDR;
            InitializeComponent();
        }

        private Class.gkhtdl63.BLL.Khachhang2BLL xgKhachhang2BLL = new BanHangCshap.Class.gkhtdl63.BLL.Khachhang2BLL();

        public void loadNhomKHNCC(DataTable dt)
        {
            gleMa_Nhom.Properties.DataSource = dt;
            gleMa_Nhom.Properties.DisplayMember = "tennhomkhncc";
            gleMa_Nhom.Properties.ValueMember = "manhomkhncc";
            gleMa_Nhom.Properties.PopupFormWidth = gleMa_Nhom.Size.Width - 4;
        }

        private void Hienthi()
        {
            xgId = (long)xgDr["Id"].ToFloat();
            gleMa_Nhom.EditValue = xgDr["Ma_Nhom"].ToString();
            txtMa.EditValue = xgDr["Ma"].ToString();
            xgMacu = xgDr["Ma"].ToString();
            txtTen.EditValue = xgDr["Ten"].ToString();
            txtDiachi.EditValue = xgDr["Diachi"].ToString();
            txtSoDienthoai.EditValue = xgDr["SoDienthoai"].ToString();
            txtFax.EditValue = xgDr["Fax"].ToString();
            txtEmail.EditValue = xgDr["Email"].ToString();
            txtSoTaikhoan.EditValue = xgDr["Taikhoan"].ToString();
            txtThue.EditValue = xgDr["Thue"].ToString();
            txtGhichu.EditValue = xgDr["Ghichu"].ToString();
            txtCongnoBandau.EditValue = xgDr["CongnoBandau"].ToFloat();
            txtMa.Focus();
        }

        private void Xoa()
        {
            //gleMa_Nhom.EditValue = null;
            txtMa.EditValue = null;
            txtTen.EditValue = null;
            txtDiachi.EditValue = null;
            txtSoDienthoai.EditValue = null;
            txtFax.EditValue = null;
            txtEmail.EditValue = null;
            txtSoTaikhoan.EditValue = null;
            txtThue.EditValue = null;
            txtGhichu.EditValue = null;
            txtCongnoBandau.EditValue = null;
            txtMa.Focus();
        }


        Class.NhomKhachHangNCC xgClsNhomkhach = new BanHangCshap.Class.NhomKhachHangNCC();
        private void frmKhachhang2Chitiet_Load(object sender, EventArgs e)
        {

            loadNhomKHNCC(xgClsNhomkhach.layDSNhomKhachHangNCC());
            if (xgAOrE)
            {
                Xoa();
            }
            else Hienthi();
        }

        private void gleMa_Nhom_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            if (e.Button.Index == 1)
            {
                frmChiTietNhomKHNCC frm = new frmChiTietNhomKHNCC();
                frm.Tailai += new MyEvent_LoadData(frm_Tailai);
                frm.ShowDialog();
            }
        }

        void frm_Tailai(object sender, ELoadData e)
        {
            if (e.IsLoadData)
            {
                loadNhomKHNCC(xgClsNhomkhach.layDSNhomKhachHangNCC());
                gleMa_Nhom.EditValue = e.Data.ToString();
            }
        }

        public event MyEvent_LoadData Tailai = null;

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (gleMa_Nhom.Text.Trim().Equals(""))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Chưa chọn nhóm khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ;
                gleMa_Nhom.Focus();
                return;
            }

            if (txtMa.Text.Trim().Equals(""))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Chưa nhập mã khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ;
                txtMa.Focus();
                return;
            }

            if (xgAOrE)
            {
                if (xgKhachhang2BLL.Khachhang2_KiemtraTontaiMa(txtMa.Text.Trim()))
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show("Mã này đã tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ;
                    txtMa.Focus();
                    return;
                }
            }
            else
            {
                if (!txtMa.Text.Trim().ChuyenSangChuoiKhongDau().ToUpper().Equals(xgMacu))
                {
                    if (xgKhachhang2BLL.Khachhang2_KiemtraTontaiMa(txtMa.Text.Trim()))
                    {
                        DevExpress.XtraEditors.XtraMessageBox.Show("Mã này đã tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ;
                        txtMa.Focus();
                        return;
                    }
                }
            }

            if (txtTen.Text.Trim().Equals(""))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Chưa nhập tên khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning); ;
                txtTen.Focus();
                return;
            }

            Class.gkhtdl63.DAL.Entities.Khachhang2 KH = new BanHangCshap.Class.gkhtdl63.DAL.Entities.Khachhang2();
            KH.Id = xgId;
            KH.Ma_Nhom = gleMa_Nhom.EditValue.ToString();
            KH.Ma = txtMa.Text.ChuyenSangChuoiKhongDau().ToUpper();
            KH.Ten = txtTen.Text.ToUpperWords();
            KH.Diachi = txtDiachi.Text.ToUpperWords();
            KH.SoDienthoai = txtSoDienthoai.Text;
            KH.Fax = txtFax.Text;
            KH.Email = txtEmail.Text;
            KH.Taikhoan = txtSoTaikhoan.Text;
            KH.Thue = txtThue.Text;
            KH.Ghichu = txtGhichu.Text.Trim().ToUpperFirst();
            KH.Loai = 1;
            if (txtCongnoBandau.EditValue == null)
            {
                KH.CongnoBandau = 0;
            }
            else
                KH.CongnoBandau = txtCongnoBandau.EditValue.ToFloat();
            if (xgAOrE)
            {
                DataTable dt = xgKhachhang2BLL.Khachhang2_Them(KH);
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        if (Tailai!=null)
                        {
                            Tailai(this, new ELoadData() { IsLoadData = true, Data = dt.Rows[0][0] });
                        }
                        Xoa();
                    }
                    else
                    {
                        DevExpress.XtraEditors.XtraMessageBox.Show("Thêm thất bại\n\nKiểm tra lại thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                }
            }
            else
            {
                if (xgKhachhang2BLL.Khachang2_Capnhat(KH))
                {
                    Tailai(this, new ELoadData() { IsLoadData = true, Data = "" });
                    this.Close();
                }
                else
                {
                    DevExpress.XtraEditors.XtraMessageBox.Show("Cập nhật thất bại\n\nKiểm tra lại thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
    }
}
